package com.vivo.house.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ManageStageHistoryExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ManageStageHistoryExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andFkProjectApprovalIsNull() {
            addCriterion("FK_Project_approval is null");
            return (Criteria) this;
        }

        public Criteria andFkProjectApprovalIsNotNull() {
            addCriterion("FK_Project_approval is not null");
            return (Criteria) this;
        }

        public Criteria andFkProjectApprovalEqualTo(String value) {
            addCriterion("FK_Project_approval =", value, "fkProjectApproval");
            return (Criteria) this;
        }

        public Criteria andFkProjectApprovalNotEqualTo(String value) {
            addCriterion("FK_Project_approval <>", value, "fkProjectApproval");
            return (Criteria) this;
        }

        public Criteria andFkProjectApprovalGreaterThan(String value) {
            addCriterion("FK_Project_approval >", value, "fkProjectApproval");
            return (Criteria) this;
        }

        public Criteria andFkProjectApprovalGreaterThanOrEqualTo(String value) {
            addCriterion("FK_Project_approval >=", value, "fkProjectApproval");
            return (Criteria) this;
        }

        public Criteria andFkProjectApprovalLessThan(String value) {
            addCriterion("FK_Project_approval <", value, "fkProjectApproval");
            return (Criteria) this;
        }

        public Criteria andFkProjectApprovalLessThanOrEqualTo(String value) {
            addCriterion("FK_Project_approval <=", value, "fkProjectApproval");
            return (Criteria) this;
        }

        public Criteria andFkProjectApprovalLike(String value) {
            addCriterion("FK_Project_approval like", value, "fkProjectApproval");
            return (Criteria) this;
        }

        public Criteria andFkProjectApprovalNotLike(String value) {
            addCriterion("FK_Project_approval not like", value, "fkProjectApproval");
            return (Criteria) this;
        }

        public Criteria andFkProjectApprovalIn(List<String> values) {
            addCriterion("FK_Project_approval in", values, "fkProjectApproval");
            return (Criteria) this;
        }

        public Criteria andFkProjectApprovalNotIn(List<String> values) {
            addCriterion("FK_Project_approval not in", values, "fkProjectApproval");
            return (Criteria) this;
        }

        public Criteria andFkProjectApprovalBetween(String value1, String value2) {
            addCriterion("FK_Project_approval between", value1, value2, "fkProjectApproval");
            return (Criteria) this;
        }

        public Criteria andFkProjectApprovalNotBetween(String value1, String value2) {
            addCriterion("FK_Project_approval not between", value1, value2, "fkProjectApproval");
            return (Criteria) this;
        }

        public Criteria andManageDateIsNull() {
            addCriterion("Manage_Date is null");
            return (Criteria) this;
        }

        public Criteria andManageDateIsNotNull() {
            addCriterion("Manage_Date is not null");
            return (Criteria) this;
        }

        public Criteria andManageDateEqualTo(Date value) {
            addCriterion("Manage_Date =", value, "manageDate");
            return (Criteria) this;
        }

        public Criteria andManageDateNotEqualTo(Date value) {
            addCriterion("Manage_Date <>", value, "manageDate");
            return (Criteria) this;
        }

        public Criteria andManageDateGreaterThan(Date value) {
            addCriterion("Manage_Date >", value, "manageDate");
            return (Criteria) this;
        }

        public Criteria andManageDateGreaterThanOrEqualTo(Date value) {
            addCriterion("Manage_Date >=", value, "manageDate");
            return (Criteria) this;
        }

        public Criteria andManageDateLessThan(Date value) {
            addCriterion("Manage_Date <", value, "manageDate");
            return (Criteria) this;
        }

        public Criteria andManageDateLessThanOrEqualTo(Date value) {
            addCriterion("Manage_Date <=", value, "manageDate");
            return (Criteria) this;
        }

        public Criteria andManageDateIn(List<Date> values) {
            addCriterion("Manage_Date in", values, "manageDate");
            return (Criteria) this;
        }

        public Criteria andManageDateNotIn(List<Date> values) {
            addCriterion("Manage_Date not in", values, "manageDate");
            return (Criteria) this;
        }

        public Criteria andManageDateBetween(Date value1, Date value2) {
            addCriterion("Manage_Date between", value1, value2, "manageDate");
            return (Criteria) this;
        }

        public Criteria andManageDateNotBetween(Date value1, Date value2) {
            addCriterion("Manage_Date not between", value1, value2, "manageDate");
            return (Criteria) this;
        }

        public Criteria andManageUnitIsNull() {
            addCriterion("Manage_unit is null");
            return (Criteria) this;
        }

        public Criteria andManageUnitIsNotNull() {
            addCriterion("Manage_unit is not null");
            return (Criteria) this;
        }

        public Criteria andManageUnitEqualTo(String value) {
            addCriterion("Manage_unit =", value, "manageUnit");
            return (Criteria) this;
        }

        public Criteria andManageUnitNotEqualTo(String value) {
            addCriterion("Manage_unit <>", value, "manageUnit");
            return (Criteria) this;
        }

        public Criteria andManageUnitGreaterThan(String value) {
            addCriterion("Manage_unit >", value, "manageUnit");
            return (Criteria) this;
        }

        public Criteria andManageUnitGreaterThanOrEqualTo(String value) {
            addCriterion("Manage_unit >=", value, "manageUnit");
            return (Criteria) this;
        }

        public Criteria andManageUnitLessThan(String value) {
            addCriterion("Manage_unit <", value, "manageUnit");
            return (Criteria) this;
        }

        public Criteria andManageUnitLessThanOrEqualTo(String value) {
            addCriterion("Manage_unit <=", value, "manageUnit");
            return (Criteria) this;
        }

        public Criteria andManageUnitLike(String value) {
            addCriterion("Manage_unit like", value, "manageUnit");
            return (Criteria) this;
        }

        public Criteria andManageUnitNotLike(String value) {
            addCriterion("Manage_unit not like", value, "manageUnit");
            return (Criteria) this;
        }

        public Criteria andManageUnitIn(List<String> values) {
            addCriterion("Manage_unit in", values, "manageUnit");
            return (Criteria) this;
        }

        public Criteria andManageUnitNotIn(List<String> values) {
            addCriterion("Manage_unit not in", values, "manageUnit");
            return (Criteria) this;
        }

        public Criteria andManageUnitBetween(String value1, String value2) {
            addCriterion("Manage_unit between", value1, value2, "manageUnit");
            return (Criteria) this;
        }

        public Criteria andManageUnitNotBetween(String value1, String value2) {
            addCriterion("Manage_unit not between", value1, value2, "manageUnit");
            return (Criteria) this;
        }

        public Criteria andApprovalToponymyIsNull() {
            addCriterion("Approval_toponymy is null");
            return (Criteria) this;
        }

        public Criteria andApprovalToponymyIsNotNull() {
            addCriterion("Approval_toponymy is not null");
            return (Criteria) this;
        }

        public Criteria andApprovalToponymyEqualTo(String value) {
            addCriterion("Approval_toponymy =", value, "approvalToponymy");
            return (Criteria) this;
        }

        public Criteria andApprovalToponymyNotEqualTo(String value) {
            addCriterion("Approval_toponymy <>", value, "approvalToponymy");
            return (Criteria) this;
        }

        public Criteria andApprovalToponymyGreaterThan(String value) {
            addCriterion("Approval_toponymy >", value, "approvalToponymy");
            return (Criteria) this;
        }

        public Criteria andApprovalToponymyGreaterThanOrEqualTo(String value) {
            addCriterion("Approval_toponymy >=", value, "approvalToponymy");
            return (Criteria) this;
        }

        public Criteria andApprovalToponymyLessThan(String value) {
            addCriterion("Approval_toponymy <", value, "approvalToponymy");
            return (Criteria) this;
        }

        public Criteria andApprovalToponymyLessThanOrEqualTo(String value) {
            addCriterion("Approval_toponymy <=", value, "approvalToponymy");
            return (Criteria) this;
        }

        public Criteria andApprovalToponymyLike(String value) {
            addCriterion("Approval_toponymy like", value, "approvalToponymy");
            return (Criteria) this;
        }

        public Criteria andApprovalToponymyNotLike(String value) {
            addCriterion("Approval_toponymy not like", value, "approvalToponymy");
            return (Criteria) this;
        }

        public Criteria andApprovalToponymyIn(List<String> values) {
            addCriterion("Approval_toponymy in", values, "approvalToponymy");
            return (Criteria) this;
        }

        public Criteria andApprovalToponymyNotIn(List<String> values) {
            addCriterion("Approval_toponymy not in", values, "approvalToponymy");
            return (Criteria) this;
        }

        public Criteria andApprovalToponymyBetween(String value1, String value2) {
            addCriterion("Approval_toponymy between", value1, value2, "approvalToponymy");
            return (Criteria) this;
        }

        public Criteria andApprovalToponymyNotBetween(String value1, String value2) {
            addCriterion("Approval_toponymy not between", value1, value2, "approvalToponymy");
            return (Criteria) this;
        }

        public Criteria andEquityOwnershipIsNull() {
            addCriterion("Equity_ownership is null");
            return (Criteria) this;
        }

        public Criteria andEquityOwnershipIsNotNull() {
            addCriterion("Equity_ownership is not null");
            return (Criteria) this;
        }

        public Criteria andEquityOwnershipEqualTo(String value) {
            addCriterion("Equity_ownership =", value, "equityOwnership");
            return (Criteria) this;
        }

        public Criteria andEquityOwnershipNotEqualTo(String value) {
            addCriterion("Equity_ownership <>", value, "equityOwnership");
            return (Criteria) this;
        }

        public Criteria andEquityOwnershipGreaterThan(String value) {
            addCriterion("Equity_ownership >", value, "equityOwnership");
            return (Criteria) this;
        }

        public Criteria andEquityOwnershipGreaterThanOrEqualTo(String value) {
            addCriterion("Equity_ownership >=", value, "equityOwnership");
            return (Criteria) this;
        }

        public Criteria andEquityOwnershipLessThan(String value) {
            addCriterion("Equity_ownership <", value, "equityOwnership");
            return (Criteria) this;
        }

        public Criteria andEquityOwnershipLessThanOrEqualTo(String value) {
            addCriterion("Equity_ownership <=", value, "equityOwnership");
            return (Criteria) this;
        }

        public Criteria andEquityOwnershipLike(String value) {
            addCriterion("Equity_ownership like", value, "equityOwnership");
            return (Criteria) this;
        }

        public Criteria andEquityOwnershipNotLike(String value) {
            addCriterion("Equity_ownership not like", value, "equityOwnership");
            return (Criteria) this;
        }

        public Criteria andEquityOwnershipIn(List<String> values) {
            addCriterion("Equity_ownership in", values, "equityOwnership");
            return (Criteria) this;
        }

        public Criteria andEquityOwnershipNotIn(List<String> values) {
            addCriterion("Equity_ownership not in", values, "equityOwnership");
            return (Criteria) this;
        }

        public Criteria andEquityOwnershipBetween(String value1, String value2) {
            addCriterion("Equity_ownership between", value1, value2, "equityOwnership");
            return (Criteria) this;
        }

        public Criteria andEquityOwnershipNotBetween(String value1, String value2) {
            addCriterion("Equity_ownership not between", value1, value2, "equityOwnership");
            return (Criteria) this;
        }

        public Criteria andStaDateIsNull() {
            addCriterion("Sta_Date is null");
            return (Criteria) this;
        }

        public Criteria andStaDateIsNotNull() {
            addCriterion("Sta_Date is not null");
            return (Criteria) this;
        }

        public Criteria andStaDateEqualTo(Date value) {
            addCriterion("Sta_Date =", value, "staDate");
            return (Criteria) this;
        }

        public Criteria andStaDateNotEqualTo(Date value) {
            addCriterion("Sta_Date <>", value, "staDate");
            return (Criteria) this;
        }

        public Criteria andStaDateGreaterThan(Date value) {
            addCriterion("Sta_Date >", value, "staDate");
            return (Criteria) this;
        }

        public Criteria andStaDateGreaterThanOrEqualTo(Date value) {
            addCriterion("Sta_Date >=", value, "staDate");
            return (Criteria) this;
        }

        public Criteria andStaDateLessThan(Date value) {
            addCriterion("Sta_Date <", value, "staDate");
            return (Criteria) this;
        }

        public Criteria andStaDateLessThanOrEqualTo(Date value) {
            addCriterion("Sta_Date <=", value, "staDate");
            return (Criteria) this;
        }

        public Criteria andStaDateIn(List<Date> values) {
            addCriterion("Sta_Date in", values, "staDate");
            return (Criteria) this;
        }

        public Criteria andStaDateNotIn(List<Date> values) {
            addCriterion("Sta_Date not in", values, "staDate");
            return (Criteria) this;
        }

        public Criteria andStaDateBetween(Date value1, Date value2) {
            addCriterion("Sta_Date between", value1, value2, "staDate");
            return (Criteria) this;
        }

        public Criteria andStaDateNotBetween(Date value1, Date value2) {
            addCriterion("Sta_Date not between", value1, value2, "staDate");
            return (Criteria) this;
        }

        public Criteria andEndDateIsNull() {
            addCriterion("End_Date is null");
            return (Criteria) this;
        }

        public Criteria andEndDateIsNotNull() {
            addCriterion("End_Date is not null");
            return (Criteria) this;
        }

        public Criteria andEndDateEqualTo(Date value) {
            addCriterion("End_Date =", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateNotEqualTo(Date value) {
            addCriterion("End_Date <>", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateGreaterThan(Date value) {
            addCriterion("End_Date >", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateGreaterThanOrEqualTo(Date value) {
            addCriterion("End_Date >=", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateLessThan(Date value) {
            addCriterion("End_Date <", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateLessThanOrEqualTo(Date value) {
            addCriterion("End_Date <=", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateIn(List<Date> values) {
            addCriterion("End_Date in", values, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateNotIn(List<Date> values) {
            addCriterion("End_Date not in", values, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateBetween(Date value1, Date value2) {
            addCriterion("End_Date between", value1, value2, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateNotBetween(Date value1, Date value2) {
            addCriterion("End_Date not between", value1, value2, "endDate");
            return (Criteria) this;
        }

        public Criteria andCompletionMapIsNull() {
            addCriterion("Completion_map is null");
            return (Criteria) this;
        }

        public Criteria andCompletionMapIsNotNull() {
            addCriterion("Completion_map is not null");
            return (Criteria) this;
        }

        public Criteria andCompletionMapEqualTo(String value) {
            addCriterion("Completion_map =", value, "completionMap");
            return (Criteria) this;
        }

        public Criteria andCompletionMapNotEqualTo(String value) {
            addCriterion("Completion_map <>", value, "completionMap");
            return (Criteria) this;
        }

        public Criteria andCompletionMapGreaterThan(String value) {
            addCriterion("Completion_map >", value, "completionMap");
            return (Criteria) this;
        }

        public Criteria andCompletionMapGreaterThanOrEqualTo(String value) {
            addCriterion("Completion_map >=", value, "completionMap");
            return (Criteria) this;
        }

        public Criteria andCompletionMapLessThan(String value) {
            addCriterion("Completion_map <", value, "completionMap");
            return (Criteria) this;
        }

        public Criteria andCompletionMapLessThanOrEqualTo(String value) {
            addCriterion("Completion_map <=", value, "completionMap");
            return (Criteria) this;
        }

        public Criteria andCompletionMapLike(String value) {
            addCriterion("Completion_map like", value, "completionMap");
            return (Criteria) this;
        }

        public Criteria andCompletionMapNotLike(String value) {
            addCriterion("Completion_map not like", value, "completionMap");
            return (Criteria) this;
        }

        public Criteria andCompletionMapIn(List<String> values) {
            addCriterion("Completion_map in", values, "completionMap");
            return (Criteria) this;
        }

        public Criteria andCompletionMapNotIn(List<String> values) {
            addCriterion("Completion_map not in", values, "completionMap");
            return (Criteria) this;
        }

        public Criteria andCompletionMapBetween(String value1, String value2) {
            addCriterion("Completion_map between", value1, value2, "completionMap");
            return (Criteria) this;
        }

        public Criteria andCompletionMapNotBetween(String value1, String value2) {
            addCriterion("Completion_map not between", value1, value2, "completionMap");
            return (Criteria) this;
        }

        public Criteria andManageScopeIsNull() {
            addCriterion("Manage_Scope is null");
            return (Criteria) this;
        }

        public Criteria andManageScopeIsNotNull() {
            addCriterion("Manage_Scope is not null");
            return (Criteria) this;
        }

        public Criteria andManageScopeEqualTo(String value) {
            addCriterion("Manage_Scope =", value, "manageScope");
            return (Criteria) this;
        }

        public Criteria andManageScopeNotEqualTo(String value) {
            addCriterion("Manage_Scope <>", value, "manageScope");
            return (Criteria) this;
        }

        public Criteria andManageScopeGreaterThan(String value) {
            addCriterion("Manage_Scope >", value, "manageScope");
            return (Criteria) this;
        }

        public Criteria andManageScopeGreaterThanOrEqualTo(String value) {
            addCriterion("Manage_Scope >=", value, "manageScope");
            return (Criteria) this;
        }

        public Criteria andManageScopeLessThan(String value) {
            addCriterion("Manage_Scope <", value, "manageScope");
            return (Criteria) this;
        }

        public Criteria andManageScopeLessThanOrEqualTo(String value) {
            addCriterion("Manage_Scope <=", value, "manageScope");
            return (Criteria) this;
        }

        public Criteria andManageScopeLike(String value) {
            addCriterion("Manage_Scope like", value, "manageScope");
            return (Criteria) this;
        }

        public Criteria andManageScopeNotLike(String value) {
            addCriterion("Manage_Scope not like", value, "manageScope");
            return (Criteria) this;
        }

        public Criteria andManageScopeIn(List<String> values) {
            addCriterion("Manage_Scope in", values, "manageScope");
            return (Criteria) this;
        }

        public Criteria andManageScopeNotIn(List<String> values) {
            addCriterion("Manage_Scope not in", values, "manageScope");
            return (Criteria) this;
        }

        public Criteria andManageScopeBetween(String value1, String value2) {
            addCriterion("Manage_Scope between", value1, value2, "manageScope");
            return (Criteria) this;
        }

        public Criteria andManageScopeNotBetween(String value1, String value2) {
            addCriterion("Manage_Scope not between", value1, value2, "manageScope");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateIsNull() {
            addCriterion("Source_Create_date is null");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateIsNotNull() {
            addCriterion("Source_Create_date is not null");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateEqualTo(Date value) {
            addCriterion("Source_Create_date =", value, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateNotEqualTo(Date value) {
            addCriterion("Source_Create_date <>", value, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateGreaterThan(Date value) {
            addCriterion("Source_Create_date >", value, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("Source_Create_date >=", value, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateLessThan(Date value) {
            addCriterion("Source_Create_date <", value, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateLessThanOrEqualTo(Date value) {
            addCriterion("Source_Create_date <=", value, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateIn(List<Date> values) {
            addCriterion("Source_Create_date in", values, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateNotIn(List<Date> values) {
            addCriterion("Source_Create_date not in", values, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateBetween(Date value1, Date value2) {
            addCriterion("Source_Create_date between", value1, value2, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateNotBetween(Date value1, Date value2) {
            addCriterion("Source_Create_date not between", value1, value2, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateIsNull() {
            addCriterion("Source_lastModify_date is null");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateIsNotNull() {
            addCriterion("Source_lastModify_date is not null");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateEqualTo(Date value) {
            addCriterion("Source_lastModify_date =", value, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateNotEqualTo(Date value) {
            addCriterion("Source_lastModify_date <>", value, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateGreaterThan(Date value) {
            addCriterion("Source_lastModify_date >", value, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateGreaterThanOrEqualTo(Date value) {
            addCriterion("Source_lastModify_date >=", value, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateLessThan(Date value) {
            addCriterion("Source_lastModify_date <", value, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateLessThanOrEqualTo(Date value) {
            addCriterion("Source_lastModify_date <=", value, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateIn(List<Date> values) {
            addCriterion("Source_lastModify_date in", values, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateNotIn(List<Date> values) {
            addCriterion("Source_lastModify_date not in", values, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateBetween(Date value1, Date value2) {
            addCriterion("Source_lastModify_date between", value1, value2, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateNotBetween(Date value1, Date value2) {
            addCriterion("Source_lastModify_date not between", value1, value2, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserIsNull() {
            addCriterion("Source_Add_user is null");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserIsNotNull() {
            addCriterion("Source_Add_user is not null");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserEqualTo(String value) {
            addCriterion("Source_Add_user =", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserNotEqualTo(String value) {
            addCriterion("Source_Add_user <>", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserGreaterThan(String value) {
            addCriterion("Source_Add_user >", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserGreaterThanOrEqualTo(String value) {
            addCriterion("Source_Add_user >=", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserLessThan(String value) {
            addCriterion("Source_Add_user <", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserLessThanOrEqualTo(String value) {
            addCriterion("Source_Add_user <=", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserLike(String value) {
            addCriterion("Source_Add_user like", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserNotLike(String value) {
            addCriterion("Source_Add_user not like", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserIn(List<String> values) {
            addCriterion("Source_Add_user in", values, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserNotIn(List<String> values) {
            addCriterion("Source_Add_user not in", values, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserBetween(String value1, String value2) {
            addCriterion("Source_Add_user between", value1, value2, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserNotBetween(String value1, String value2) {
            addCriterion("Source_Add_user not between", value1, value2, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceIdIsNull() {
            addCriterion("Source_id is null");
            return (Criteria) this;
        }

        public Criteria andSourceIdIsNotNull() {
            addCriterion("Source_id is not null");
            return (Criteria) this;
        }

        public Criteria andSourceIdEqualTo(String value) {
            addCriterion("Source_id =", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotEqualTo(String value) {
            addCriterion("Source_id <>", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdGreaterThan(String value) {
            addCriterion("Source_id >", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdGreaterThanOrEqualTo(String value) {
            addCriterion("Source_id >=", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLessThan(String value) {
            addCriterion("Source_id <", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLessThanOrEqualTo(String value) {
            addCriterion("Source_id <=", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLike(String value) {
            addCriterion("Source_id like", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotLike(String value) {
            addCriterion("Source_id not like", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdIn(List<String> values) {
            addCriterion("Source_id in", values, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotIn(List<String> values) {
            addCriterion("Source_id not in", values, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdBetween(String value1, String value2) {
            addCriterion("Source_id between", value1, value2, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotBetween(String value1, String value2) {
            addCriterion("Source_id not between", value1, value2, "sourceId");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("Status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("Status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion("Status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion("Status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion("Status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion("Status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion("Status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion("Status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLike(String value) {
            addCriterion("Status like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotLike(String value) {
            addCriterion("Status not like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<String> values) {
            addCriterion("Status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<String> values) {
            addCriterion("Status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion("Status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion("Status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion("Remarks is null");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion("Remarks is not null");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion("Remarks =", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion("Remarks <>", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion("Remarks >", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("Remarks >=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion("Remarks <", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion("Remarks <=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLike(String value) {
            addCriterion("Remarks like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotLike(String value) {
            addCriterion("Remarks not like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksIn(List<String> values) {
            addCriterion("Remarks in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotIn(List<String> values) {
            addCriterion("Remarks not in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion("Remarks between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion("Remarks not between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNull() {
            addCriterion("Create_date is null");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNotNull() {
            addCriterion("Create_date is not null");
            return (Criteria) this;
        }

        public Criteria andCreateDateEqualTo(Date value) {
            addCriterion("Create_date =", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotEqualTo(Date value) {
            addCriterion("Create_date <>", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThan(Date value) {
            addCriterion("Create_date >", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("Create_date >=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThan(Date value) {
            addCriterion("Create_date <", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThanOrEqualTo(Date value) {
            addCriterion("Create_date <=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateIn(List<Date> values) {
            addCriterion("Create_date in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotIn(List<Date> values) {
            addCriterion("Create_date not in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateBetween(Date value1, Date value2) {
            addCriterion("Create_date between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotBetween(Date value1, Date value2) {
            addCriterion("Create_date not between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateIsNull() {
            addCriterion("lastModify_date is null");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateIsNotNull() {
            addCriterion("lastModify_date is not null");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateEqualTo(Date value) {
            addCriterion("lastModify_date =", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateNotEqualTo(Date value) {
            addCriterion("lastModify_date <>", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateGreaterThan(Date value) {
            addCriterion("lastModify_date >", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateGreaterThanOrEqualTo(Date value) {
            addCriterion("lastModify_date >=", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateLessThan(Date value) {
            addCriterion("lastModify_date <", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateLessThanOrEqualTo(Date value) {
            addCriterion("lastModify_date <=", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateIn(List<Date> values) {
            addCriterion("lastModify_date in", values, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateNotIn(List<Date> values) {
            addCriterion("lastModify_date not in", values, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateBetween(Date value1, Date value2) {
            addCriterion("lastModify_date between", value1, value2, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateNotBetween(Date value1, Date value2) {
            addCriterion("lastModify_date not between", value1, value2, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andAddUserIsNull() {
            addCriterion("Add_user is null");
            return (Criteria) this;
        }

        public Criteria andAddUserIsNotNull() {
            addCriterion("Add_user is not null");
            return (Criteria) this;
        }

        public Criteria andAddUserEqualTo(String value) {
            addCriterion("Add_user =", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotEqualTo(String value) {
            addCriterion("Add_user <>", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserGreaterThan(String value) {
            addCriterion("Add_user >", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserGreaterThanOrEqualTo(String value) {
            addCriterion("Add_user >=", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLessThan(String value) {
            addCriterion("Add_user <", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLessThanOrEqualTo(String value) {
            addCriterion("Add_user <=", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLike(String value) {
            addCriterion("Add_user like", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotLike(String value) {
            addCriterion("Add_user not like", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserIn(List<String> values) {
            addCriterion("Add_user in", values, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotIn(List<String> values) {
            addCriterion("Add_user not in", values, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserBetween(String value1, String value2) {
            addCriterion("Add_user between", value1, value2, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotBetween(String value1, String value2) {
            addCriterion("Add_user not between", value1, value2, "addUser");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}